using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using Nextel.Utils;
using System.Collections.Generic;

using System.Net;
using System.Text;
using System.IO;


public partial class ActividadNuevo : PageController
{
    private String PAGINA_NUEVO = URLManager.URL_ACTIVIDAD_NUEVO;
    private String PAGINA_BUSQUEDA = URLManager.URL_ACTIVIDAD;

    protected override void initialize()
    {
        if (!Page.IsPostBack)
        {

            HidError.Value = "";
            hidMensaje.Value = "";
            btnGuardar.Text = IdiomaCultura.getMensaje(IdiomaCultura.WEB_GRABAR);

            // descomentado
            hidMensaje.Value = Request.QueryString["mensaje"] == null ? "" : Request.QueryString["mensaje"];

            txtTipoActividad.Disabled = true;
            TxtUsuario.Disabled = true;
            txtCodigo.Disabled = true;

            txtCliente.Disabled = true;


            if (Request.QueryString["id"] != null)
            {

                subLlenarControl(false);

                hidPk.Value = Request.QueryString["id"];

                ActividadBean bean = DBActividad.getActividadBeanPK(hidPk.Value);

                txtCodigo.Value = bean.codigo;

                txtDescripcion.Value = bean.descripcion;
                txtFechaInicio.Text = StringUtils.getFechaArray(bean.fechainicio)[0];
                txtFechaFin.Text = StringUtils.getFechaArray(bean.fechafin)[0];
                txtTipoActividad.Value = bean.tipoactividad;
                txtCliente.Value = bean.nombre;
                TxtUsuario.Value = bean.usuario.Trim();

                if (bean.programacion != null && bean.programacion.Length > 6)
                {
                    idL.Checked = (bean.programacion.Substring(0, 1) == "1") ? true : false;
                    idMa.Checked = (bean.programacion.Substring(1, 1) == "1") ? true : false;
                    idMi.Checked = (bean.programacion.Substring(2, 1) == "1") ? true : false;
                    idJ.Checked = (bean.programacion.Substring(3, 1) == "1") ? true : false;
                    idV.Checked = (bean.programacion.Substring(4, 1) == "1") ? true : false;
                    idS.Checked = (bean.programacion.Substring(5, 1) == "1") ? true : false;
                    idD.Checked = (bean.programacion.Substring(6, 1) == "1") ? true : false;
                    // programacion
                }

                cmbTipoActividad.SelectedValue = bean.codigotipoactividad;

                cmbUsuario.SelectedValue = bean.codigousuario;

                cmbCliente.SelectedValue = bean.codigocliente;


                litTitulo.Text = IdiomaCultura.getMensaje(IdiomaCultura.WEB_EDITARACTIVIDAD);

            }
            else
            {

                litTitulo.Text = IdiomaCultura.getMensaje(IdiomaCultura.WEB_NUEVOACTIVIDAD);
                hidPk.Value = "0";
                subLlenarControl(true);

                txtFechaInicio.Text = StringUtils.getFechaActual();
                txtFechaFin.Text = StringUtils.getFechaActual();

            }

            cmbCliente.Focus();

            cargarCombo();
        }

    }

    private void cargarCombo()
    {
        cmbCliente.DataSource = DALBase.getGeneralBean(AbstractBean.ACTIVO, "USPW_CLIENTE_S_CLIENTEXFLAG");
        cmbCliente.DataValueField = "CODIGO";
        cmbCliente.DataTextField = "NOMBRE";

        cmbTipoActividad.DataSource = DALBase.getGeneralBean(AbstractBean.ACTIVO, "USPW_ACTIVIDAD_S_TIPOACTIVIDADXFLAG");
        cmbTipoActividad.DataValueField = "CODIGO";
        cmbTipoActividad.DataTextField = "NOMBRE";

        cmbUsuario.DataSource = DALBase.getGeneralBean(AbstractBean.ACTIVO, "USPW_USUARIO_S_USUARIOXFLAG", ((UsuarioBean)Session[SessionManager.USER_SESSION]).codigo);
        cmbUsuario.DataValueField = "CODIGO";
        cmbUsuario.DataTextField = "NOMBRE";

        try
        {
            cmbCliente.DataBind();
        }
        catch (Exception) { }
        cmbCliente.Items.Insert(0, "   ");
        cmbCliente.Items[0].Value = "";

        try
        {
            cmbTipoActividad.DataBind();
        }
        catch (Exception) { }
        //cmbTipoActividad.Items.Insert(0, "   ");
        //cmbTipoActividad.Items[0].Value = "";

        try
        {
            cmbUsuario.DataBind();
        }
        catch (Exception) { }
        cmbUsuario.Items.Insert(0, "   ");
        cmbUsuario.Items[0].Value = "";

    }


    private bool validarCampos()
    {

        Boolean flag = StringUtils.validarFechaCompleta(txtFechaInicio.Text);
        if (!flag)
        {
            HidError.Value = IdiomaCultura.getMensaje(IdiomaCultura.WEB_FECHA_INCORRECTA);
            hidMensaje.Value = "";
            return false;
        }
        flag = StringUtils.validarFechaCompleta(txtFechaFin.Text);
        if (!flag)
        {
            HidError.Value = IdiomaCultura.getMensaje(IdiomaCultura.WEB_FECHA_INCORRECTA);
            hidMensaje.Value = "";
            return false;
        }

        return true;

    }

    protected void btnGuardar_Click(object sender, EventArgs e)
    {
        if (validarCampos())
        {
            string programa = "";
            if (idL.Checked) programa = programa + "1"; else programa = programa + "0";
            if (idMa.Checked) programa = programa + "1"; else programa = programa + "0";
            if (idMi.Checked) programa = programa + "1"; else programa = programa + "0";
            if (idJ.Checked) programa = programa + "1"; else programa = programa + "0";
            if (idV.Checked) programa = programa + "1"; else programa = programa + "0";
            if (idS.Checked) programa = programa + "1"; else programa = programa + "0";
            if (idD.Checked) programa = programa + "1"; else programa = programa + "0";

            ActividadBean bean = new ActividadBean();
            bean.id = hidPk.Value;
            bean.codigo = txtCodigo.Value;

            bean.fechainicio = txtFechaInicio.Text + " 00:00:00";
            bean.fechafin = txtFechaFin.Text + " 23:59:00";


            if (programa != "0000000")
            {
                bean.programacion = programa;
            }
            else
            {
                HidError.Value = IdiomaCultura.getMensaje(IdiomaCultura.WEB_RUTA_BLANCO);
                hidMensaje.Value = "";
                return;
            }


            bean.nombre = cmbCliente.SelectedItem.Text;  // OBTENER EL NOMBRE DE LA ACTIVIDAD
            //bean.nombre = txtNombre.Value;  // OBTENER EL NOMBRE DE LA ACTIVIDAD

            bean.codigocliente = cmbCliente.SelectedValue;
            bean.codigousuario = cmbUsuario.SelectedValue;
            //    }
            bean.descripcion = txtDescripcion.Value;
            bean.codigotipoactividad = cmbTipoActividad.SelectedValue;
            bean.flag = AbstractBean.ACTIVO;

            try
            {
                //GRABA Y ACTUALIZA
                txtCodigo.Value = (string)DBActividad.addActividadBean(bean);

                // agregado

                /* comentado */
                /*
                hidPk.Value = txtCodigo.Value;
                
                hidMensaje.Value = IdiomaCultura.getMensajeEncodeHTML(IdiomaCultura.WEB_MENSAJE_EXITO);
                txtTipoActividad.Value = cmbTipoActividad.SelectedItem.Text;
                txtCliente.Value = cmbCliente.SelectedItem.Text;
                TxtUsuario.Value = cmbUsuario.SelectedItem.Text;
                */


                if (!(cmbUsuario.SelectedItem.Equals("")) || !cmbUsuario.SelectedItem.Equals(TxtUsuario.Value.Trim()))
                {
                    PushEnvio.subEnvioPush(cmbUsuario.SelectedItem.Value, IdiomaCultura.getMensaje(IdiomaCultura.WEB_PUSH_MENSAJE_ENTRENGA) + "\n" + bean.nombre);
                }

                Response.Redirect(Request.ApplicationPath + PAGINA_NUEVO + "?mensaje=" + IdiomaCultura.getMensajeEncodeHTML(IdiomaCultura.WEB_MENSAJE_EXITO), false);

            }
            catch (Exception ex)
            {

                if (IdiomaCultura.WEB_CODIGOREPETIDO.Equals(ex.Message))
                {
                    HidError.Value = IdiomaCultura.getMensaje(ex.Message, txtCodigo.Value);
                }
                else
                {
                    BaseLN.registrarLog("ERROR:" + ex.Message);
                    HidError.Value = ex.Message;
                }
                hidMensaje.Value = "";

            }
        }
    }



    private void subLlenarControl(Boolean pbNuevo)
    {

        UCManNuevo1.Descripcion = IdiomaCultura.getMensaje(IdiomaCultura.WEB_MANTENIMIENTOACTIVIDAD);

        if (pbNuevo)
        {

            UCManNuevo1.Link = Request.ApplicationPath + PAGINA_BUSQUEDA;
        }
        else
        {
            UCManNuevo1.Link = Request.ApplicationPath + PAGINA_BUSQUEDA;
        }
        UCManNuevo1.Renderizar = true;

    }





}
